assume cs:codesg, ds:data,ss:stack
data segment 
   dw 0123h, 0456h, 0789h, 0abch, 0defh, 0fedh, 0cbah, 0987h
data ends
stack segment
dw 0, 0, 0, 0, 0, 0, 0, 0
stack ends
codesg segment
start:
   mov ax, stack
   mov ss, ax
   mov sp, 16
   
   mov ax, data
   mov ds, ax

   push ds:[0]
   push ds:[2]
   pop ds:[2]
   pop ds:[0]

   mov ax, 4C00H
   int 21H

codesg ends

end start
